1. Field of the Invention
The invention is related to the field of communications, and in particular, to communication network element architectures that stack software applications.
2. Description of the Prior Art
A communication network transfers communications to provide various services to its customers. A few examples of these services include telephony, Internet access, and media delivery that are provided to mobile user devices. The communication network is comprised of communication links and network elements. The communication links transfer the communications between the users and the network elements, and between the network elements themselves. The network elements process the communications to perform various functions that comprise the communication services. These functions include authorizing users to obtain the services and routing user traffic to provide the services, although there are many other communication service functions.
A network element is often a computer platform with hardware and software. The hardware typically includes Input/Output (I/O) interfaces, processing circuitry, and memory devices that are coupled by bus structures. The software typically includes an operating system and an application. The software application provides a function for the communication service. For example, the application may provide the function of authenticating the user and authorizing the authenticated user to obtain the communication service.
The I/O interfaces in the computer system exchange the communications with the communication links. The memory devices store the communications. The processing circuitry executes the software to process the communications. The processing circuitry executes the software application to provide a specific communication service function and executes the operating system to provide an interface between the software application and the hardware.
Unfortunately, the computer platform restricts the ability to stack numerous software applications in the same network element. The restriction is based on the fixed amount of processing, memory, and I/O in the computer platform. More specifically, the ratio of processing to memory to I/O is fixed. Typically, each communication service function requires a unique ratio of processing, memory, and I/O. This requirement has led to single-function network elements with computer platforms that are customized with the unique ratio of processing, memory, and I/O.
A communication service typically requires several functions, so multiple single-function network elements are required to provide all of the functions for the communication service. These network elements exchange communications for the communication service over communication links. Unfortunately, the transfer of the communications over the communication links requires extra time, software, and hardware. To receive communications into a network element from a communication link, the operating system, driver, and I/O hardware must inter-operate to execute a communication stack (OSI layers 1-3). A reciprocal process occurs to transfer communications from the network element over a communication link.
A communication service with several functions requires several network elements to provide these functions. Each network element must execute a communication stack to receive the communications and execute a communication stack to transfer the communications. Thus, significant delay is added to the communication service to allow the network elements to exchange communications over communication links. For real-time communication services (voice, audio, video), the added delay may cause a critical degradation of service.
The use of single-function network elements requires a large number of network elements to provide a robust set of communication services. The large number of network elements results in network topology that is too complex. The complex network topology is difficult and expensive to operate. The complex network topology also has many points-of-failure.
A new computer platform is becoming available that provides more flexibility in the ratio of processing, memory, and I/O. The new computer platform comprises a blade server with user-selectable blades. The blades include processing blades, memory blades, and I/O blades. The processing blades can be Central Processing Unit (CPU) blades, Graphics Processing Unit (GPU) blades, or Field Programmable Gate Array (FPGA) blades. The blades are coupled by interface circuitry and bus structures to provide inter-process communications that avoid the use of conventional communication stacks.
The user may select the type of blades and the number of each type for the blade server. The user may also select some of the circuitry (chips) that provide the processing, memory, and I/O on the blades. Thus, the user may control the ratio of processing to memory to I/O. One example of such a computer platform is the ALTIX 4000 supplied by Silicon Graphics Incorporated. Unfortunately, this computer platform has not been effectively used to stack software applications in a network element.